/**
 * 
 */
package sismed.gui.comando;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import sismed.negocio.fachada.Fachada;
import sismed.negocio.modelo.Medico;
import sismed.negocio.modelo.Pessoa;

/**
 * @author Berg
 *
 */
public class ComandoLogin extends ComandoGenerico{

	@Override
	public void executar(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		try{
			Fachada fachada = Fachada.getInstance();
			
			String login = request.getParameter("login");
			String senha = request.getParameter("senha");
			
			Pessoa pe = fachada.login(login, senha);
			System.out.println("Pessoa: "+pe.getLogin());
			if ( pe == null) {
				String msg = "Login ou senha incorreto.";
				response.sendRedirect("login.jsp?msgerro="+msg);
				//request.getRequestDispatcher("erro.jsp?msgerro="+msg).forward(request, response);
			}else{
				HttpSession session = request.getSession(true);
				session.setAttribute("login", login);
				session.setAttribute("id", pe.getId());
				session.setAttribute("nome",pe.getNome());
				session.setAttribute("tipoUsuario", pe.getClass().getSimpleName());
				if(session.getAttribute("tipoUsuario").equals("Medico")){
					session.setAttribute("crm", ((Medico) pe).getCrm());
				}
				response.sendRedirect("carregarMenu.jsp");
			}
		}catch (Exception e) {
			//request.setAttribute("msgErro", e.getMessage());
			String msg ="Erro ao realizar login.";
			response.sendRedirect("login.jsp?msgerro="+msg);
			//request.getRequestDispatcher("erro.jsp?msgerro="+msg).forward(request, response);
		}
	}

}
